package com.ruoyi.system.service;

import com.ruoyi.system.domain.SysFault;

import java.util.Date;
import java.util.List;

/**
 * 故障信息Service接口
 * 
 * @author ruoyi
 * @date 2022-07-20
 */
public interface ISysFaultService 
{
    /**
     * 查询故障信息
     * 
     * @param faultId 故障信息主键
     * @return 故障信息
     */
    public SysFault selectSysFaultByFaultId(Long faultId);

    /**
     * 查询故障信息列表
     * 
     * @param sysFault 故障信息
     * @return 故障信息集合
     */
    public List<SysFault> selectSysFaultList(SysFault sysFault);

    /**
     * 新增故障信息
     * 
     * @param sysFault 故障信息
     * @return 结果
     */
    public int insertSysFault(SysFault sysFault);

    /**
     * 修改故障信息
     * 
     * @param sysFault 故障信息
     * @return 结果
     */
    public int updateSysFault(SysFault sysFault);

    /**
     * 批量删除故障信息
     * 
     * @param faultIds 需要删除的故障信息主键集合
     * @return 结果
     */
    public int deleteSysFaultByFaultIds(String faultIds);

    /**
     * 删除故障信息信息
     * 
     * @param faultId 故障信息主键
     * @return 结果
     */
    public int deleteSysFaultByFaultId(Long faultId);

    /**
     * 导入故障/缺陷数据
     *
     * @param list 故障/缺陷列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importFault(List<SysFault> list, Boolean isUpdateSupport, String operName);

    /**
     * 按时间 查询故障信息列表  by over_time and start_time
     *
     * @param overTime 开始时间
     * @param startTime 结束时间
     * @return 故障信息集合
     */
    public List<SysFault> selectSysFaultListByTime(Date overTime, Date startTime);
}
